package com.api.signature.auto.config;

import lombok.Data;

/**
 * @author Jerry
 * @date 2024-01-23 17:50
 * api签名配置类 Model
 */
@Data
public class ApiSignConfig {
    /**
     * 是否开启配置
     */
    private Boolean enable = false;
    /**
     * 接口调用时的时间戳允许的差距（单位：ms），-1 代表不校验差距，默认2分钟
     *
     * <p> 比如此处你配置了60秒，当一个请求从 client 发起后，如果 server 端60秒内没有处理，60秒后再想处理就无法校验通过了。</p>
     * <p> timestamp + nonce 有效防止重放攻击。 </p>
     */
    private long timestampDisparity = 1000 * 60 * 2;
    /**
     * 是否在初始化配置时在控制台打印版本字符画
     */
    private Boolean isPrint = true;
    /**
     * 是否校验 nonce 随机字符串
     * // TODO 待开发
     */
    private Boolean isCheckNonce = false;
    /**
     * 加密方式-默认MD5
     *  TODO 多种加解密方式配置
     */
    private String encryption = "MD5";

}
